#ifndef KEYBOARDDIALOG_H
#define KEYBOARDDIALOG_H

#include <QtWidgets/QLineEdit>
#include <QDialog>
#include <QPoint>

namespace Ui {
class keyboardDialog;
}

class keyboardDialog : public QDialog
{
    Q_OBJECT

public:
    explicit keyboardDialog(QLineEdit *lineedit,QWidget *parent = nullptr);
    ~keyboardDialog();
    void setShiftStyle();
    void setNormalStyle();
    void setLineEdit(QLineEdit *lineedit);
    void mousePressEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
private slots:
    void on_pushButton_shift_clicked();
    void on_pushButton_num1_clicked();

    void on_pushButton_num2_clicked();

    void on_pushButton_num3_clicked();

    void on_pushButton_num4_clicked();

    void on_pushButton_num5_clicked();

    void on_pushButton_num6_clicked();

    void on_pushButton_num7_clicked();

    void on_pushButton_num8_clicked();

    void on_pushButton_num9_L_parenthesis_clicked();

    void on_pushButton_num0_R_parenthesis_clicked();

    void on_pushButton_henggang_clicked();

    void on_pushButton_denghao_clicked();

    void on_pushButton_back_clicked();

    void on_pushButton_left_clicked();

    void on_pushButton_right_clicked();

    void on_pushButton_q_clicked();

    void on_pushButton_w_clicked();

    void on_pushButton_e_clicked();

    void on_pushButton_r_clicked();

    void on_pushButton_t_clicked();

    void on_pushButton_y_clicked();

    void on_pushButton_u_clicked();

    void on_pushButton_i_clicked();

    void on_pushButton_o_clicked();

    void on_pushButton_p_clicked();

    void on_pushButton_L_brackets_clicked();

    void on_pushButton_R_brackets_clicked();

    void on_pushButton_slash_clicked();

    void on_pushButton_a_clicked();

    void on_pushButton_s_clicked();

    void on_pushButton_d_clicked();

    void on_pushButton_f_clicked();

    void on_pushButton_g_clicked();

    void on_pushButton_h_clicked();

    void on_pushButton_j_clicked();

    void on_pushButton_k_clicked();

    void on_pushButton_l_clicked();

    void on_pushButton_colon_clicked();

    void on_pushButton_quotation_clicked();

    void on_pushButton_enter_clicked();

    void on_pushButton_z_clicked();

    void on_pushButton_x_clicked();

    void on_pushButton_c_clicked();

    void on_pushButton_v_clicked();

    void on_pushButton_b_clicked();

    void on_pushButton_n_clicked();

    void on_pushButton_m_clicked();

    void on_pushButton_comma_L_quotes_clicked();

    void on_pushButton_dot_R_quotes_clicked();

    void on_pushButton_back_slash_clicked();

    void on_pushButton_pie_clicked();

signals:
    void keyvalue(char keyvalue);
private:
    Ui::keyboardDialog *ui;
    QLineEdit *m_lineEdit;
    bool m_shift_enable;
    QString strContent;
    QPoint dragPosition;

};

#endif // KEYBOARDDIALOG_H
